package com.whz.parameterized;

import com.google.common.collect.Lists;

import java.util.Collection;
import java.util.List;
import java.util.Set;

/**
 * @Author: sinosoft
 * @Description: 无限制通配符 List<?> 通过add()只能null
 * @Date: Create in 14:32 2021/5/11
 * @Modified By:
 */
public class InfiniteWildcard {
    public static void main(String[] args) {

        List<?> strList = Lists.newArrayList("whz", "sxm", "zzy");
        System.out.println(strList);
    }

    /*
    * 原生类型不安全
    * */
//    static int numElementsInCommon_Unsafe(Set s1, Set s2) {
//        int result = 0;
//        for (Object o1 : s1) {
//            if(s2.contains(o1)) {
//                result ++;
//            }
//        }
//        return result;
//    }

    /*
    * 使用泛型(无限通配符) 安全
    * */
//    static int numElementsInCommon_Safe(Set<?> s1, Set<?> s2) {
//        int result = 0;
//        for (Object o1 : s1) {
//            if(s2.contains(o1)) {
//                result ++;
//            }
//        }
//        return result;
//    }
}
